<?php




require_once 'bo/ProdutoBO.php';

require_once 'bo/TipoProdutoBO.php';

class ProdutosController extends Zend_Controller_Action
{

   

    public function init ()
    {
        /* Initialize action controller here */
        
        
    }

    public function indexAction ()
    {
        // action body
    }

    public function listarprodutosAction ()
    {
        
        $this->_helper->layout->disableLayout();
        
        if  ($this->getRequest()->getParam("chave") != null )

                $produto = $this->getRequest()->getParam("chave");

        $this->view->listaDePodutos = ProdutoBO::getInstance()->listar($produto);

    }

    public function addprodutoAction ()
    {
         $this->_helper->layout->disableLayout ();

         
         $request = $this->getRequest  ();
         // carrega os dados do produto a ser atualizado, em caso de edicao
         if ( $request->getParam('idprod') != null )
         {
         	     $this->view->produto = ProdutoBO::getInstance()->localizar ($request->getParam('idprod'));
         }

        if ($request->getPost ())
           {
             	 
                 //faz o upload da imagem
                 $sucessoNoUpload     =  ProdutoBO::getInstance()->tratarUpload();
                 //testa qual a operacao vai fazer
                 $sucessoNaOperacao   =  (!$request->getPost ('id')) ? ProdutoBO::getInstance()->adicionar ( $request->getPost (), $_FILES['img']['name'] ) :
                                                                       ProdutoBO::getInstance()->atualizar ( $request->getPost (), $_FILES['img']['name'] );
                 //mensagem de resultado
                 $this->view->msg    =  ( $sucessoNoUpload  && $sucessoNaOperacao) ?  "<font color='white' size='2'>
                  																			<b>Dados registrados com sucesso!</b></font>" :
                                                                                      "<font color='red' size='2'>
                  																			<b>Erro ao carregar dados. Preencha novamente.</b></font>";

           }

      
           $this->view->lista_tipos = TipoProdutoBO::getInstance()->listar();
           
           
         
    }

    public function delprodutoAction()
    {
            $this->_helper->layout->disableLayout ();

           if (ProdutoBO::getInstance()->deletar ($this->getRequest()->getParam ('idprod')) )

                   $this->_redirect("produtos");
           
           else

               die("Ocorreu um erro Inesperado. Atualize e tente novamente, por favor.");

    }

      public function promoteprodutoAction()
    {
            $this->_helper->layout->disableLayout ();

           if (ProdutoBO::getInstance()->promover ($this->getRequest()->getParam ('idprod')) )

                   $this->_redirect("produtos");

           else

               die("Ocorreu um erro Inesperado. Atualize e tente novamente, por favor.");

    }


}

